package com.java复习.线程;

public class Demo1 {
    /*
    进程：内存中的一个独立的空间，用于运行某个程序（一个进程理论上可以有无数个线程）
    线程：寄生在进程中，不能单独存在，但能独立运行的最小单元
     */

    // 主线程
    public static void main(String[] args) {
        Dog dog1 = new Dog();
        Dog dog2 = new Dog();
        // 启动线程
        dog1.start();  // 独立运行，不影响后面的运行，线程之间是抢夺资源来执行 -----分线程
        dog1.setName("线程一");

        dog2.start();
        dog2.setName("线程二");

        System.out.println("继续执行。。。");
    }
}

//线程的使用： 1、继承Thread类，并重写run函数
class Dog extends Thread{

    // run独立运行的任务入口
    public void run(){
        while (true){
            System.out.println(this.getName()+"小狗狂吠！！！");
            try {
                Thread.sleep(1000);  // 休眠1s
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }

    }
}